Users are increasingly using networks such as the Internet to access content, such as video files and live streaming/video on demand content, via client machines. Such content is often large, time sensitive, or both. As demand for such content increases, there are challenges in distributing that content efficiently and with high quality.
Two ways that content owners can distribute content are by using their own servers or buying the service of a content delivery network (CDN). In the later case, content owners typically contract with CDNs to provide content to clients, e.g., in exchange for a fee. Requests by clients for content are directed to CDN nodes that are close by, e.g., the fewest hops away from the clients. The client then downloads the content from the appropriate CDN node. In both cases, content is distributed by servers, owned by either the content owner directly or the CDN. Unfortunately, as demand on server capacity increases (e.g., as the content size gets bigger and/or the number of requests to the content increase), meeting that demand by increasing capacity is often very expensive, requiring a larger number of servers or more powerful servers to be deployed.
Server owners typically have a financial arrangement/peering agreement with one or Internet service provider (ISP)s. Server owners pay ISPs for network access, e.g., based on long term usage based accounting (e.g., throughput). Thus, as the amount of content served by the servers increases, the bandwidth cost incurred also increases. Additionally, server-based solutions typically have little insight into or control over how their content propagates through various networks.
Another way that content can be distributed is through use of peer-to-peer (P2P) systems. In a typical P2P scenario, a node downloads content from the system, and also uploads content to other nodes. In a hybrid content distribution system, a fraction of the content is transmitted by the servers and the rest is transmitted by nodes using their uplink capacity. Unfortunately, ISPs are facing increased network congestion (and no corresponding increase in revenue) from P2P and hybrid content distributions. When P2P and hybrid systems exploit the uplink capacity of an ISP network to distribute content, they typically utilize that uplink capacity (including off-net capacity of an ISP network) without the permission of the ISP network. Additionally, P2P and hybrid systems do not control the amount of capacity they consume in the bottleneck links in the ISP network, including the amount of off-net traffic generated by the systems. The off-net traffic traverses the links that connect the ISP to other ISPs, which are usually among the most expensive links for an ISP.
Therefore, it would be desirable to have a better way to account for content distribution.